local ClientOHOH = _G.ClientOHOH;
local M = ClientOHOH.class.new(script, ClientOHOH.files.BaseComponent(),script.Parent.Name);
local MinDt=ClientOHOH.config.Game.ActionSynchronizeTime
local EventList = ClientOHOH.load.EventList();

function M.new(self,...)
	return M(self,...);
end;
function M.ctor(self, parent)
	M.super.ctor(self, parent);
    self.NetData={}
    self.BuffData={}
    self.__synch_update_cnnt = self:AddHeartBeatUpdate(self.Update,MinDt);
end;

function M.dtor(self)
	M.super.dtor(self);
end;

local ALLDATA={}
function M.Update(self,dt)
    self:SendNetData()
end


function M.PrintTestALLDATA(self)
    ClientOHOH:PrintTable(ALLDATA,"",10)
end

--非常重要：获取了操作数据后，必须发送到服务器去处理
function M.GetData2SendSever(self)


    local netdata={}
    for k,v in pairs(self.BuffData) do
        table.insert(netdata,k)
    end
    self.BuffData={}
    return netdata

end

function M.SendNetData(self)

    local netdata={}

    for k,v in pairs(self.BuffData) do
        table.insert(netdata,k)
    end

    if #netdata>0 then
        self.parent:Fire(EventList.action_synchronize,netdata)
    end

    self.BuffData={}
end


function M.Push(self,data)
    self.BuffData[data]=true
end

return M